ohibc logo
OHI British Columbia | OHI Science | Citation policy

knitr::opts_chunk$set(fig.width = 6, fig.height = 4, fig.path = 'Figs/',
                      echo = TRUE, message = FALSE, warning = FALSE)

library(sf)

dir_git <- '~/github/ohibc'
source(file.path(dir_git, 'src/R/common.R'))  ### an OHIBC specific version of common.R
dir_rgn <- file.path(dir_git, 'prep/regions')  ### github: general buffer region shapefiles
dir_anx <- file.path(dir_M, 'git-annex/bcprep')


### goal specific folders and info
goal      <- 'fis'
scenario  <- 'v2017'
dir_goal  <- file.path(dir_git, 'prep', goal, scenario)
dir_goal_anx <- file.path(dir_anx, goal, scenario)
dir_spatial  <- file.path(dir_git, 'prep/_spatial')
dir_dfo_data <- file.path(dir_anx, '_raw_data/dfo_khunter')


### provenance tracking
library(provRmd); prov_setup()

### support scripts
source(file.path(dir_git, 'src/R/rast_tools.R')) 
  ### raster plotting and analyzing scripts

1 Summary

This script collects spatial boundaries for RAM stocks, using stock IDs from the RAM prep script and the boundaries created by Chris Free: https://marine.rutgers.edu/~cfree/ram-legacy-stock-boundary-database/

From this, we generate for each stock a region-by-region proportional area to apportion RAM catch to OHIBC regions.


2 Data Source

Reference: https://marine.rutgers.edu/~cfree/ram-legacy-stock-boundary-database/

Downloaded: 7/5/2017

Description: Boundaries for RAM stocks

Format: ESRI shapefile format.


3 Methods

For each RAM stock identified in the script 1_data_prep_fis_ram.Rmd, identify the appropriate shapefile for boundaries, either from the Chris Free datasets or from DFO (if there is a difference).

3.1 Determine fisheries to analyze

The .zipped set of shapefiles seems to be named according to the RAM assess_id field. Copy the relevant set to git-annex, in the fis/v2017/stock_boundaries/ram folder.

stock_list <- read_csv(file.path(dir_goal, 'output/ram_catch.csv')) %>%
  select(stock_id, stock_name, ram_area_name) %>%
  distinct()

ram_spatial_dir <- file.path(dir_anx, '_raw_data/ram_fisheries/d2017/spatial')
boundary_list <- readxl::read_excel(file.path(ram_spatial_dir, 'ramldb_v3.8_stock_boundary_table_v2_formatted.xlsx')) %>%
  filter(stockid %in% stock_list$stock_id)

shp_list <- list.files(file.path(ram_spatial_dir, 'ramldb_boundaries'), full.names = TRUE)

boundary_list <- boundary_list %>%
  select(assessid, stockid, stocklong, zone_col, zones, notes) %>%
  mutate(dir = file.path(ram_spatial_dir, 'ramldb_boundaries'),
         shp = assessid,
         file_exists = file.exists(file.path(dir, shp)))

bc_bounds_dir <- file.path(dir_goal_anx, 'stock_boundaries/ram_files')
unlink(bc_bounds_dir, recursive = TRUE)
dir.create(bc_bounds_dir)
y <- lapply(boundary_list$shp, FUN = function(x) {
  ### x <- boundary_list$shp[1]
  stockname <- x
    # str_replace('-PAC-', '-') %>%
    # str_split('-') %>%
    # unlist() %>% .[2]
  file.copy(from = file.path(ram_spatial_dir, 'ramldb_boundaries', paste0(x, c('.shp', '.prj', '.shx', '.dbf'))),
            to   = file.path(bc_bounds_dir, paste0(stockname, c('.shp', '.prj', '.shx', '.dbf'))))
})

3.2 Assign relative stock boundary areas to OHIBC regions

For each RAM stock, intersect the RAM boundary polygons (from Chris Free) with the OHIBC regions, then calculate area (in km^2) within each OHIBC region and proportional areas, relative to the overall stock polygon area (including stock extents outside the BC EEZ). The output layer for toolbox use will simply contain OHIBC region, stock ID, and stock-in-region area in km^2.

Note that most species do not actually get fished in the Pacific Offshore region - coastal species and/or demersal species. For these, we will remove area associated with the Pacific Offshore region and recalculate total area based on the continental shelf portion of the polygon instead.

Two exceptions: Halibut and Albacore. These will base the regional catch on the total area of the fishery polygon. The catch for Halibut associated with Pacific Offshore will be dropped.

3.2.1 Pacific Hake

The Pacific Hake shapefile from Chris Free’s database is only for Southern California:

free_hake <- st_read(file.path(dir_anx, "fis/v2017/stock_boundaries/ram_files"), "PFMC-PHAKEPCOAST-1966-2016-WATSON")
## Reading layer `PFMC-PHAKEPCOAST-1966-2016-WATSON' from data source `/home/shares/ohi/git-annex/bcprep/fis/v2017/stock_boundaries/ram_files' using driver `ESRI Shapefile'
## Simple feature collection with 1 feature and 18 fields
## geometry type:  MULTIPOLYGON
## dimension:      XY
## bbox:           xmin: -124.2353 ymin: 30.9235 xmax: -117.0955 ymax: 34.5
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs
plot(free_hake[1])

Therefor we can’t use this shapefile. We can use shapefiles provided by DFO. Unfortunately these shapefiles are provided individually from 1996 - 2012. So we need to combine them all and then remove all polygons where Hake catch is set to 0.

dfo_hake_out <- st_read(file.path(dir_anx, "_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012"),"Trawl_1996_BCA") %>%
    st_transform(4326) %>%
    select(HakeWt, geometry) %>% 
    filter(HakeWt > 0) %>% #filtering out polygons that have 0 catch of Hake in them.
    mutate(year = 1996)
## Reading layer `Trawl_1996_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 1188 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 500060 ymin: 354650 xmax: 1184060 ymax: 1082650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
for (yr in 1997:2012) {
  
  dfo_hake <- st_read(file.path(dir_anx, "_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012"), paste0("Trawl_",yr,"_BCA")) %>%
    st_transform(4326) %>%
    select(HakeWt, geometry) %>% 
    filter(HakeWt > 0) %>% #filtering out polygons that have 0 catch of Hake in them.
    mutate(year = yr)
  
  dfo_hake_out <-rbind(dfo_hake_out, dfo_hake)
}
## Reading layer `Trawl_1997_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 1026 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 492060 ymin: 354650 xmax: 1184060 ymax: 1078650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_1998_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 1007 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 492060 ymin: 346650 xmax: 1200060 ymax: 1074650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_1999_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 1044 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 500060 ymin: 354650 xmax: 1196060 ymax: 1086650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2000_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 956 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 488060 ymin: 354650 xmax: 1200060 ymax: 1074650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2001_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 960 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 488060 ymin: 354650 xmax: 1208060 ymax: 1074650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2002_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 974 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 488060 ymin: 354650 xmax: 1212060 ymax: 1074650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2003_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 895 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 480060 ymin: 354650 xmax: 1212060 ymax: 1082650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2004_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 835 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 488060 ymin: 354650 xmax: 1212060 ymax: 1074650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2005_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 801 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 488060 ymin: 354650 xmax: 1212060 ymax: 1074650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2006_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 793 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 488060 ymin: 354650 xmax: 1212060 ymax: 1074650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2007_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 683 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 500060 ymin: 354650 xmax: 1216060 ymax: 1074650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2008_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 783 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 496060 ymin: 354650 xmax: 1216060 ymax: 1074650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2009_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 728 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 496060 ymin: 354650 xmax: 1216060 ymax: 1070650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2010_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 681 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 500060 ymin: 354650 xmax: 1216060 ymax: 1074650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2011_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 683 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 496060 ymin: 354650 xmax: 1216060 ymax: 1074650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
## Reading layer `Trawl_2012_BCA' from data source `/home/shares/ohi/git-annex/bcprep/_raw_data/dfo_khunter/fisheries/d2016/groundfish_trawl_old_1996_2012' using driver `ESRI Shapefile'
## Simple feature collection with 611 features and 16 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: 488060 ymin: 354650 xmax: 1216060 ymax: 1074650
## epsg (SRID):    NA
## proj4string:    +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs
#union all polygons to create one polygon for size

dfo_hake_geom <- st_union(dfo_hake_out) 

plot(dfo_hake_geom[1])

st_write(dfo_hake_geom, file.path(dir_goal_anx, "stock_boundaries"), layer = "dfo_hake_1996_2012", driver= "ESRI Shapefile", update=TRUE, delete_layer =TRUE)
## Deleting layer `dfo_hake_1996_2012' using driver `ESRI Shapefile'
## Updating layer `dfo_hake_1996_2012' to data source `/home/shares/ohi/git-annex/bcprep/fis/v2017/stock_boundaries' using driver `ESRI Shapefile'
## features:       1
## fields:         0
## geometry type:  Multi Polygon

The above plot shows all blocks in which Hake was caught between 1996 and 2012. For simplicity, we will use these combined shapefiles as a single shapefile to represent where the Hake stock is fished in BC.

ram_areas_file <- file.path(dir_goal, 'ram', '2_ram_stock_to_ohibc_areas.csv')

reload <- TRUE

if(!file.exists(ram_areas_file) | reload) {
    
  ram_bounds_dir <- file.path(dir_goal_anx, 'stock_boundaries/ram_files')
  
  shp_list <- list.files(ram_bounds_dir, pattern = '.shp$', full.names = FALSE) %>%
    str_replace('.shp$', '')
  
  ohibc_sf <- read_sf(dir_spatial, 'ohibc_rgn') %>%
    st_transform(4326)
  
  intsx_ram <- function(ram_layer) {
    ### ram_layer <- shp_list[45]
  
    ptm <- proc.time()
    
    # The Hake shapefile in Chris Free's database is only for Southern California. Therefore we need to use a different shapefile. We can use the one from DFO.
    if(str_detect(ram_layer, "PHAKE")){
      
      ram_sf <- st_read(file.path(dir_goal_anx, "stock_boundaries"), "dfo_hake_1996_2012") %>%
        mutate(tot_area_m2 = st_area(geometry),
               assessid = "PFMC-PHAKEPCOAST-1966-2016-WATSON",
               stockid = "PHAKEPCOAST")
    
    }else{
      
    ram_sf <- read_sf(ram_bounds_dir, ram_layer) %>%
      mutate(tot_area_m2 = st_area(geometry))
    
    }
    
    intsx_sf <- st_intersection(ohibc_sf, ram_sf) %>%
      select(rgn_name, rgn_id, assessid, stockid, tot_area_m2)
    
    if(nrow(intsx_sf) > 0) {
      intsx_sf <- intsx_sf %>%
        mutate(area_m2 = st_area(geometry)) 
      
      if(!str_detect(ram_layer, 'PHALNPAC|ALBA')) {
        ### subtract pacific offshore and readjust total area
        intsx_sf <- intsx_sf %>%
          filter(rgn_id != 7) %>%
          mutate(tot_area_m2 = sum(area_m2))
      }
      
      if(str_detect(ram_layer, 'PHALNPAC')) {
        ### subtract pacific offshore, but leave total area untouched
        intsx_sf <- intsx_sf %>%
          filter(rgn_id != 7)
      }
      
      intsx_df <- intsx_sf %>%
        as.data.frame() %>%
        select(-geometry) %>%
        mutate(elapsed = (proc.time() - ptm)[3])
      
      return(intsx_df)
    } else {
      return((proc.time() - ptm)[3])
    }
  }
  
  # ram_ohibc_all_list <- vector('list', length = length(shp_list)) %>%
  #   setNames(shp_list)
  # for(ram_layer in shp_list) {
  #   message(ram_layer)
  #   ram_ohibc_all_list[[ram_layer]] <- intsx_ram(ram_layer)
  # }
  
  ram_ohibc_all_list <- parallel::mclapply(shp_list, FUN = intsx_ram, mc.cores = 18) %>%
    setNames(shp_list)
  
  ram_ohibc_dfs <- ram_ohibc_all_list[sapply(ram_ohibc_all_list, class) == 'data.frame']
  ram_ohibc_all <- ram_ohibc_dfs %>%
    bind_rows() %>%
    group_by(stockid) %>%
    mutate(area_km2 = area_m2 / 1e6,
           a_prop   = area_m2 / tot_area_m2,
           tot_area_km2 = tot_area_m2 / 1e6) %>%
    select(-elapsed, -area_m2, -tot_area_m2)
  
  write_csv(ram_ohibc_all, ram_areas_file)
}
ram_ohibc_all <- read_csv(ram_areas_file)

DT::datatable(ram_ohibc_all)
ram_ohibc_all <- read_csv(file.path(dir_goal, 'ram', '2_ram_stock_to_ohibc_areas.csv')) %>%
  select(rgn_id, stockid, area_km2, a_prop)

write_csv(ram_ohibc_all, file.path(dir_goal, 'output', 'ram_stock_area.csv'))

3.3 Plot maps

ram_bounds_dir <- file.path(dir_goal_anx, 'stock_boundaries/ram_files')

shp_list <- list.files(ram_bounds_dir, pattern = '.shp$', full.names = FALSE) %>%
  str_replace('.shp$', '')

ohibc_sf <- read_sf(dir_spatial, 'ohibc_rgn') %>%
  st_transform(4326)

for(ram_layer in shp_list) {
  ### ram_layer <- shp_list[10]

  message('Generating map for ', ram_layer)
  
  if(ram_layer == "PFMC-PHAKEPCOAST-1966-2016-WATSON"){
    ram_sf <- st_read(file.path(dir_goal_anx, "stock_boundaries"), "dfo_hake_1996_2012") 
  }else{
  
  ram_sf <- read_sf(ram_bounds_dir, ram_layer)
}
  ram_map <- ggplot() +
    ggtheme_plot() +
    geom_sf(data = ohibc_sf, alpha = .5, fill = 'slateblue', color = 'blue', size = .25) +
    geom_sf(data = ram_sf, alpha = .3, fill = 'red', color = 'red', size = .25) +
    labs(title = ram_layer)
  
  print(ram_map)
  
}

## Reading layer `dfo_hake_1996_2012' from data source `/home/shares/ohi/git-annex/bcprep/fis/v2017/stock_boundaries' using driver `ESRI Shapefile'
## Simple feature collection with 1 feature and 1 field
## geometry type:  MULTIPOLYGON
## dimension:      XY
## bbox:           xmin: -133.91 ymin: 48.20682 xmax: -123.0572 ymax: 54.66332
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs


prov_wrapup(commit_outputs = FALSE)

4 Provenance

  • Run ID: 4 (23acbfe); run tag: “standard run”
  • Run elapsed time: 481.517 seconds; run memory usage: 28807.2 MB
  • System info:
    • System: Linux, Release: 4.4.0-57-generic. Machine: x86_64. User: afflerbach.
    • R version: R version 3.4.3 (2017-11-30), Platform: x86_64-pc-linux-gnu, Running under: Ubuntu 14.04.5 LTS.
    • Attached base packages: stats, graphics, grDevices, utils, datasets, methods, base
    • Other attached packages: bindrcpp_0.2, provRmd_0.1.1, stringr_1.2.0, RColorBrewer_1.1-2, dplyr_0.7.4, purrr_0.2.4, readr_1.1.1, tidyr_0.7.2, tibble_1.3.4, ggplot2_2.2.1.9000, tidyverse_1.1.1, sf_0.5-6
%0 8 rast_tools.R 9 ram_catch.csv 3 2_data_prep_fis_ram_spatial.Rmd#get_fisheries_stocks 9->3 used 10 2_ram_stock_to_ohibc_areas.csv 6 2_data_prep_fis_ram_spatial.Rmd#table 10->6 used 7 2_data_prep_fis_ram_spatial.Rmd#write_output_layer 10->7 used 11 ram_stock_area.csv 1 2_data_prep_fis_ram_spatial.Rmd 5 2_data_prep_fis_ram_spatial.Rmd#setup 1->5 wasExecutedBy 1->3 wasExecutedBy 2 2_data_prep_fis_ram_spatial.Rmd#apportion_ram_boundaries_to_ohibc 1->2 wasExecutedBy 1->6 wasExecutedBy 1->7 wasExecutedBy 4 2_data_prep_fis_ram_spatial.Rmd#provenance 1->4 wasExecutedBy 5->8 wasExecutedBy 2->10 wasGeneratedBy 7->11 wasGeneratedBy